Operator Library: Hardware Platform
此 Operator 表示 CXP 双通道相机与 VisualApplets 之间的图像数据接口。
| 适用于以下硬件平台 |
|---|
| mE5 marathon VCX-QP |
| mE5 ironman VQ8-CXP6D |
| mE5 ironman VQ8-CXP6B |
该 Operator 在其输出端 O 上提供图像数据。此输出端始终存在。
除此标准输出端口外,如果您的设计需要,还可以指定各种可选端口。
Operator 实例化期间将出现以下弹出对话框:

您可以在此处指定通过 CXP 电缆进行通用输入和输出的可选端口,以及往返于相机的可选触发端口。
您可以定义特定 GPI(通用输入)、特定 GPO(通用输出)、触发输入端口和触发输出端口的可用性。
如果将端口可用性设置为“0”(默认值),则该端口将不存在于 Operator 中。如果将端口可用性设置为 1,则该特定端口可在 Operator 接口上使用。
该 Operator 使用 2 个类型为 CameraPort 的资源。

![]() |
修改图像宽度和图像高度 |
|---|---|
|
您可以将宽度和高度修改为相机特定的设置。但是,Operator 端口 O 上的最大图像宽度必须能够被端口 O 的 Parallelism 整除。 确保最大图像宽度能够被端口 O 的 Parallelism 整除! |
![]() |
Parallelism 的值 |
|---|---|
|
端口 O 上的 Parallelism 必须至少设置为最小值(在参数 MinimalParallelism 中说明)。不允许使用更小的 Parallelism 值。最小 Parallelism 是由 VisualApplets 根据您为此 Operator 的其他参数定义的值计算得出的。这样,始终可以接收传入的数据。 |
![]() |
虚拟像素 (Dummy Pixels) |
|---|---|
|
输出数据可能包含虚拟像素。这是因为 Operator 可能会转换两次 Parallelism。首先,Operator 在内部转换为其计算出的最小 Parallelism,并在参数 MinimalParallelism 中作为只读值提供。这会产生一个内部图像宽度,该宽度能够被 MinimalParallelism 整除,并且由于 Parallelism 转换可能会添加额外的虚拟值。其次,如果第一次 Parallelism 转换产生的填充图像宽度不是 O.Parallelism 的倍数,Operator 会将 Parallelism 转换为 O.Parallelism,这可能会添加更多虚拟值。因此,输出数据是否包含虚拟像素取决于 MinimalParallelism 参数、图像宽度和 O.Parallelism。每次 Parallelism 转换都可能会添加虚拟像素。附加的虚拟像素包含未定义的数据值,并导致图像宽度偏离真实的图像宽度。 示例:如果 MinimalParallelism 为 12,O.Parallelism 为 32,并且传输的图像宽度为 128 像素,由于 MinimalParallelism 参数中定义的内部 Parallelism,Operator 在内部创建宽度为 132 的图像行。对于输出,数据向量转换为 Parallelism 32(O.Parallelism),这会导致图像行宽度为 160 像素。 由于虚拟像素的存在,预期的输出图像宽度为:
|
![]() |
Bit Width 和格式类型 |
|---|---|
|
端口 O(图像端口)上的 Bit Width 取决于所选的格式类型(参数 FormatType):
|
| Property | 值 |
|---|---|
| Operator Type | M |
| 输入链路 | - TriggerI(可选),从采集卡通过 CXP 通道发送到相机的触发信号。此端口通常用于触发线阵相机。 - GPIx(可选),从采集卡通过 CXP channel 发送到相机的通用输入 [x]。可用选项包括 GPI0、GPI1、GPI2、GPI3、GPI4、GPI5、GPI6 和 GPI7。 |
| Output Links | - O,图像数据输出 - TriggerO(可选),从相机通过 CXP 通道发送到采集卡的触发信号。 - GPOx(可选),从相机通过 CXP 通道发送到采集卡的通用输出 [x]。可用选项包括 GPO0、GPO1、GPO2、GPO3、GPO4、GPO5、GPO6 和 GPO7。 |
| CameraID | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | |
| 范围 | {-1, 0, 1, 2, 3} |
|
CameraID 参数定义了相机算子固件的 CXP 主端口 ID,以允许自动发现 CXP 拓扑(相机到小应用程序以及小应用程序到相机)。 通过使用此参数,您可以直接在此算子中指定 ID。不过,我们建议在“Resources”对话框中指定算子的资源。(要打开“Resources”对话框,只需突出显示相机算子,然后从“Design”菜单中选择菜单项“Resources”。)CameraID 参数将使用资源对话框参数自动更新为正确的主端口。以下示例使用了一个单相机和一个双相机: ![]()
![]() module3(单相机)的 CameraID(CXP 主端口 ID)为 2。module5(双相机)的 CameraID(CXP 主端口 ID)为 1。 双相机需要 2 个 CXP 相机端口。(四相机需要 4 个端口。)算子的 CameraID 参数中仅反映主端口。 当您定义的 CameraPort 资源超出可能数量(最大值为 4)时(例如,当您实例化 5 个 "CXPSingleCamera" 算子时),最后请求 CameraPort 资源的相机算子(此时所有四个可用资源已被占用)将其 CameraID 设置为 -1。在这种情况下,设计规则检查将报告错误。 参数 CameraID 的范围为 {-1,0,1,2,3}。 |
|
| MinimalParallelism | |
|---|---|
| 键入 | 静态读取参数 |
| 默认 | 12 |
| 范围 | [1 : 512] |
|
一个只读参数,提供输出链接 O 的最小 Parallelism,该 Parallelism 仍允许传输相机的最大带宽而不会丢失数据。最小 Parallelism 是自动计算的。 该值取决于您在参数 FormatMode 中选择的 Pixel Format。 如果您将参数 FormatMode 定义为 dynamic 参数(请参阅下方参数 FormatMode 的说明),则会计算可能出现的最小 Parallelism 的最小值。 最小的 Parallelism 可能会导致创建虚拟像素,因为算子可能会在此过程中进行两次 Parallelism 转换并添加虚拟值。由于这些虚拟像素,预期的输出图像宽度为:
|
|
| 状态 | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | |
| 范围 | {0; 2^7-1} |
|
Status 参数是一个运行时只读参数,用于反映相机算子的当前状态。Bit[0] 表示检测到 CXP 数据流数据包丢失。Bit[1] 表示 CXP 数据流数据包中的单字节纠错。Bit[2] 表示 CXP 数据流数据包中的多字节错误检测。Bit[3..6] 为保留位。 此参数可能会在未来的版本中更改。 |
|
| FormatType | |
|---|---|
| 键入 | 静态写参数 |
| 默认 | GRAY |
| 范围 | GRAY, RGB, RGBA, RAW |
|
在此处,您可以选择要接收的 Pixel Format 类型(由 CXP 规范定义)。 您在此处选择的值决定了参数 FormatMode 中可选择的 Pixel Format。 因此,此参数的设置会直接影响参数 FormatMode。 另请参见下方参数 FormatMode 的文档。 |
|
| FormatMode | |
|---|---|
| 键入 | 静态或动态(用户定义)写参数 |
| 默认 | Mono8 |
| 范围 | {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16, RGB8, RGB10, RGB12, RGB14, RGB16, RGBA8, RGBA10, RGBA12, RGBA14, RGBA16, Raw} |
|
该参数提供属于您在参数 FormatType 中所选格式类型的所有 Pixel Format (由 CXP 规范定义)。 ![]() 您在此处可以选择的 Pixel Format 取决于参数 FormatType 的设置。 因此,您始终只能使用完整值范围的预设子集。 若要获取另一组 Pixel Format, 请更改参数 FormatType 的设置。另请 参见上方参数 FormatType 的文档。 详细而言,参数 FormatType 的以下设置 在参数 FormatMode 中提供以下 Pixel Format: FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16} FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16} FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16} FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received. 您可以决定是将此参数用作动态参数还是静态参数。请在“Parameter Type”列中进行选择: ![]() |
|
| TxTriggerPacketMode | |
|---|---|
| 键入 | 动态写入参数 |
| 默认 | CxpStandard |
| 范围 | {CxpStandard, RisingEdgeOnly} |
|
通过参数 TxTriggerPacketMode,您可以增加 连接采集卡与相机的 CXP 线缆的带宽。 带宽的增加是通过稍微修改相机触发信号的解释来实现的。 请注意,此功能只能用于支持该功能的特定相机。有关详情,请联系您的当地经销商或 Basler 支持部门。 参数 TxTriggerPacketMode 允许两个值 (CxpStandard、RisingEdgeOnly):
|
|
| TxTriggerEventCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | {0;2^20-1} |
|
TxTriggerEventCount 参数 指示已向相机发送了多少个触发边沿事件。 |
|
| TxTriggerAcknowledgementCount | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | {0;2^20-1} |
|
采集卡已接收到多少个由相机发送的触发确认数据包(作为对先前发送的触发边沿数据包的回应), TxTriggerAcknowledgementCount 参数 即指示这一数量。 |
|
| TxTriggerWaveformViolation | |
|---|---|
| 键入 | 动态只读参数 |
| 默认 | 0 |
| 范围 | {0,1} |
|
如果相机操作员检测到 TriggerI 端口上的两个触发边沿之间的距离违反了最小边沿频率,则相机操作员会将该 Property 设置为 1。在所有 microEnable 5 平台上,最小边沿频率为 550 ns(纳秒)。该 Property 会保持其值,直到被读取。读取后,该 Property 会更新其值。频率控制一直在持续运行,不受该 Property 读取状态的影响。 |
|
以下示例展示了 CXPDualCamera 算子的使用方法:
-
示例 - 基础采集
-
“适用于两个双线 CoaXPress 面阵相机的基本采集示例”
示例 - 基础采集
-
示例 - 基础采集
-
“适用于两个双线 CoaXPress 线阵相机的基本采集示例”
示例 - 基础采集

![[重要]](../common/images/admon/important.png)





上一页

